package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.provider.dto.ShowAllLeaveDto;
import com.csun.cmny.provider.model.vo.old_out.AccountFundsOfLeyiVo;
import com.csun.cmny.provider.pojo.OldmanLeave;
import com.csun.cmny.provider.vo.OldmanLeaveVo;
import com.csun.cmny.provider.vo.SettleDetailVo;

import java.util.List;

public interface OldmanLeaveService {
    int deleteByPrimaryKey(Integer leaveId);

    int insert(OldmanLeave record);

    int insertSelective(OldmanLeave record);

    OldmanLeave selectByPrimaryKey(OldmanLeave key);

    int updateByPrimaryKeySelective(OldmanLeave record);

    int updateByPrimaryKey(OldmanLeave record);

    List<OldmanLeaveVo> showAll(ShowAllLeaveDto dto);

    SettleDetailVo getLeaveByOid(Integer oldmanId);

    int updateByOid(OldmanLeave oldmanLeave);

    int deleteByOid(Integer oldmanId);

    /**
     * 查询乐颐老人出院详情
     * @param: [oldmanId]
     * @return: com.csun.cmny.provider.vo.SettleDetailVo
     */
    AccountFundsOfLeyiVo getSettleDetailByOldmanId(Integer oldmanId);

    /**
     * 乐颐结算出院
     * @param: [oldmanId]
     * @return: int
     */
    int ensureOldmanFee(Integer oldmanId, LoginAuthDto loginAuthDto);

    /**
     * 乐颐查询出院列表
     * @param: [dto]
     * @return: java.util.List<com.csun.cmny.provider.vo.OldmanLeaveVo>
     */
    List<OldmanLeaveVo> queryOldmanLeaveListWithPage(ShowAllLeaveDto dto);

    /**
     * 乐颐查询出院列表
     * @param: [dto]
     * @return: java.util.List<com.csun.cmny.provider.vo.OldmanLeaveVo>
     */
    List<OldmanLeaveVo> listPage(ShowAllLeaveDto dto);
}
